<?php
 /**
  *
  * Copyright (c) 2009, Persistent Systems Limited
  *
  * Redistribution and use, with or without modification, are permitted 
  *  provided that the following  conditions are met:
  *   - Redistributions of source code must retain the above copyright notice, 
  *     this list of conditions and the following disclaimer.
  *   - Neither the name of Persistent Systems Limited nor the names of its contributors 
  *     may be used to endorse or promote products derived from this software 
  *     without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */

/**
 * ATOM Feed Parser class
 * @access public
 */
class AtomParser
{
    /**
     * @access private
     * @var string 
     */
	private $_atomString;
	/**
     * @access private
     * @var array 
     */
	private $_nodeDataArr= array();
	/**
     * @access private
     * @var Object
     */
	private $_simpleXml;

   /** 
    * Class constructor.
	* @param string $atomString ATOM Feed data that to be parse
    */
	public function __construct($atomString)
	{
		$this->_atomString = $atomString;
	}

	/**
	 * Returns an array of parsed ATOM feed data
	 *
	 * @return  Array  Array of parsed ATOM feed data
	 */
	public function parseString()
	{
		$this->_simpleXml = simplexml_load_string($this->_atomString);
		$entryTagCount = count($this->_simpleXml->entry);
		if($entryTagCount > 0){
			foreach($this->_simpleXml->entry as $entry){
				foreach($entry->content as $content){
					$this->_nodeDataArr[] = (array) $content;
				}
			}
		}
		return $this->_nodeDataArr;
	}

}
?>